iT邦幫忙

2024 iThome 鐵人賽

DAY 18
1

上一篇講到利用 dbt init 開始 dbt 專案。這篇則是要開始 dbt 專案的開發:

利用 dbt power user 開始專案開發。

利用 dbt init 開始專案後,可以用 vscode 開啟專案資料夾,下面是我開啟 dbt_demo 這個專案之後的畫面,可以看到左邊列出了一些 dbt 專案預設的資料夾,其中 models 下面的 .sql 檔出現了 dbt 的 logo 圖示,這就代表 dbt power user 已經正確啟用了。:

https://ithelp.ithome.com.tw/upload/images/20241002/201631036GSBwXfOr8.png

如果沒有看到,可能會發現 dbt is not installed 的通知出現在畫面右下方,這是因為我們剛剛是把 dbt 安裝在虛擬環境下,vs code 預設的 python 路徑沒辦法找到他。這時可以先在 python terminal 再輸入一次 dbt debug,將 python 的路徑複製,然後貼上到 dbt power user 的設定中。

第一步:利用 dbt debug 找到 python 路徑,複製下來:

https://ithelp.ithome.com.tw/upload/images/20241002/20163103ZEbmAvFc1K.png

第二步:點擊 settings 進到 vs code 設定畫面

https://ithelp.ithome.com.tw/upload/images/20241002/20163103pGX1Rbj9Fa.png

第三步:更改 dbt power user python interpreter 的位置,貼上剛剛的 python interpreter 路徑

https://ithelp.ithome.com.tw/upload/images/20241002/20163103yru1FnoRJk.png

設定好後,重新開啟 VScode ,看到螢幕左下角的 dbt-core 有一個 √,就代表 dbt power user 偵測到 dbt 了, 就可以正常運作了。

dbt run

這邊要來介紹 dbt 最常用的 command: dbt run。dbt 的全名是 data build tool,顧名思義當他開始跑之後,他就會開始在資料庫中,建立一張張的表格 (Table 或是 View)。 只要是在 models 資料夾下的 *.sql 檔案,都會變成在資料庫中的一張表格。

而使用 dbt init 啟動專案時,dbt 都會幫我們預設建好兩個 model 作為範例:my_first_dbt_model 以及 my_second_dbt_model 。 這時我們點進 my_first_dbt_model 的 SQL 檔案,VScode 就會幫我們開啟這個檔案,可以看到裡面的程式碼如下圖:

https://ithelp.ithome.com.tw/upload/images/20241002/20163103d9ReT8ys8W.png

{{ config(materialized = "table") }} 的意思就是這張 SQL 的結果會以 table 的形式存在在資料庫中,如果改成 view 就會以 view 的形式存在在資料庫中。(當然 materialized 還有其他選項,詳情可以參考上一屆團友的文章),但我相信以分析師本身的職責以及台灣中小企業的規模來說, view 跟 table 就很夠用了。

這時如果我們按一下上圖第一個跑步小人的往下展開選單,點選 Run dbt Model,就會在下面的 Terminal 看到下圖。

https://ithelp.ithome.com.tw/upload/images/20241002/20163103Muo6dPK9TU.png

這時候就代表 dbt 成功在我們資料庫中的 public 這個 schema 建立 my_first_dbt_model 這張表了。這時候可以到資料庫檢查看看,public schema 下是不是真的出現 my_first_dbt_model 這張表。下圖就是我的資料庫中,已經有這張表了,而且裡面的資料就是 my_first_dbt_model.sql 這個 model 的 SQL 邏輯所呈現的結果。

https://ithelp.ithome.com.tw/upload/images/20241002/201631033IemYF13Dr.png


上一篇
Day17 - 開始 dbt 專案
下一篇
Day 19 - 建立自己的第一個 dbt model
系列文
華人市場資料打撈師求生指南30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言